package com.clt.ess.gjzw.utils;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class FastJsonUtils {

    /**
     * json字符串转换成对象
     * @param jsonString
     * @param cls
     * @return
     */
    public static <T> T jsonToBean(String jsonString, Class<T> cls){
        T t = null;
        t = JSON.parseObject(jsonString,cls);
        return t;
    }
    /**
     * 对象转换成json字符串
     * @param s
     * @return
     */
    public static JSONObject jsonToJsonBean(String s){
        return JSON.parseObject(s);
    }

    /**
     * 对象转换成json字符串
     * @param obj
     * @return
     */
    public static String beanToJson(Object obj){
        return JSON.toJSONString(obj);
    }

    /**
     * json字符串转换成List集合
     * (需要实体类)
     * @param jsonString
     * @return
     */
    public static <T>List<T> json2List(String jsonString, Class cls){
        List<T> list = null;
        list = JSON.parseArray(jsonString, cls);

        return list;
    }

    /**
     * json字符串转换成ArrayList集合
     * (需要实体类)
     * @param jsonString
     * @return
     */
    public static <T>ArrayList<T> json2ArrayList(String jsonString, Class<T> cls){
        ArrayList<T> list = null;
        list = (ArrayList<T>) JSON.parseArray(jsonString, cls);
        return list;
    }
    /**
     * List集合转换成json字符串
     * @param obj
     * @return
     */
    public static String list2Json(Object obj){
        return JSONArray.toJSONString(obj, true);
    }

    /**
     * json转List
     * (不需要实体类)
     * @param jsonStr
     * @return
     */
    public static JSONArray json2List(String jsonStr){
        return JSON.parseArray(jsonStr);
    }

}